Mesh networking is one method used for routing data, voice and instructions between wireless access points (“AP”) called nodes. A node is a connection point, either a redistribution point or an end point, for data transmission. The nodes typically communicate using a predetermined protocol such as the protocol defined by the Institute of Electrical and Electronics Engineers (“IEEE”) standard 802.11, commonly called Wi-Fi. In general, a node has the ability to recognize neighboring nodes within its communication range, and receive and process or route transmissions from those neighboring nodes to other nodes. A primary characteristic of mesh networks is that there is no predetermined path for routing data transmissions. Instead, a node may route data to any other available node in the mesh network, with the goal ultimately being delivery of the data to a client, the Internet, or other wide-area or local-area network. The process of transmitting data between the internal (non-final destination) nodes is known as “backhaul” routing.
A mesh network that has all nodes directly connected to all other nodes is referred to as a “fully connected network.” Because there is no set path, the network provides continuous connections by “hopping” from node to node until the destination is reached. However, if a path becomes broken or blocked, the network has the ability to compensate by reconfiguring the data path to bypass an unreachable node.
The number of wireless access points or nodes in a mesh network may be quite large. For example, a city mesh network may have 30-40 APs and each AP can have multiple transit links, i.e., paths, to other APs. It is not uncommon for each AP to have 3-6, or even more, transit links within the mesh network. While this redundancy creates a very reliable infrastructure for ensuring that data eventually passes through the network, the cost is that the shortest path is not always chosen and if a link has an impaired transmission rate with respect to other links in the path, the data is transmitted at a slower rate than could otherwise be achieved. A transmitting node does not have the ability to see further down the path than the next hop, so the data is not always routed according to the most optimal overall route.
Automatic implementations of backhaul routing on the Wi-Fi access points may not prevent nodes from taking unnecessary hops through the mesh network, resulting in nodes having to perform several, e.g., 4-7, hops before reaching a wired network connection. Additionally, some nodes physically located in the middle of mesh network may receive considerably more traffic than nodes located further toward the edge of the network, and the data flow stalls waiting for the node to become available. Thus, a bottleneck is created in the network when there could potentially be other nodes available to route the data traffic and relieve congestion. As a result, latency is increased and re-transmission of the data decreases throughput and capacity in a Wi-Fi mesh network.
One current solution is to manually create a “blocking list” whereby certain nodes are manually prohibited from routing data to other specific nodes. Engineers establishing the wireless mesh network monitor the data distribution patterns and experimentally determine routing paths by systematically blocking distribution to various nodes from other selected nodes in the network. Once completed, the blocking list is then distributed to the access points. Depending on the size of the wireless mesh network, this process can take several hours and does not necessarily yield the optimal routing configuration. For larger networks, an engineer can easily miss generating the most optimal solution.
Therefore, what is needed is a method and system for automatically generating an optimized backhaul routing topology in a wireless mesh network which allows data from each node to reach a network access point in a limited number of hops.